package com.zmn.mcc.model.mq;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description： MCS消息体统一封装类
 *  发送消息说明：
 *       必要参数：ruleId、callsName
 *       可选参数：areaId、channelId
 *               【不传或参数在自定义模板的内部规则中匹配失败则使用通用模板，PS：城市渠道需要同时传。】
 *       忽略参数：serialNumber 全局序列号，该值由ZmnMcsSendUtil.send返回，
 *                建议调用方结合发送内容同时打印，便于日志跟踪。
 * @Author: jxl
 * @Date: 2020/12/10
 * @Version: 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SendParams implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 【必传参数】，消息中心配置的规则ID
     */
    private Integer ruleId;

    /**
     * 发送对象ID
     */
    private String objectId;

    /**
     * 【必传参数】，发送方系统名称：OMS,CMS,UMS...
     */
    private String callsName;


    /**
     * 省份ID，不传则默认使用通用模板
     */
    private String areaId;

    /**
     * 渠道ID，不传则默认使用通用模板
     */
    private String channelId;


    /**
     * 发送短信
     */
    private SmsParams smsParams;

    /**
     * 消息序列号：该参数由client自动生成
     */
    private String serialNumber;
}
